# 函数专题

# 函数的定义
# def 函数命() :

# eg:
#求 1 - 10 的和
# def Calculate_sum(beg ,  end) :
#     TheSum = 0
#     for i in range(beg , end + 1):
#         TheSum += i
#     return  TheSum
#
# result_sum = Calculate_sum(1,100)
# print(result_sum)

# 函数参数
# 形参实参

#计算 N 的阶乘
# def Calculate_fact(num) :
#     ret = 1
#     for i in range(1,num + 1):
#         ret *= i
#     return ret
#
# Num = int(input('请输入要求的阶乘数 : '))
# print(Calculate_fact(Num))

#判断是否是奇数
# def isOdd(n):
#     if n % 2 == 0 :
#         return False
#     return True
#
# print(isOdd(51))

#特别的 !!!!!!!!!

# def Add() :
#     #返回一个坐标
#     x = 10
#     y = 20
#     return x , y

#得到返回值
# a , b = Add()
# print(a , b)

#得到部分值时
# _ , b = Add()


# x = 10 # 全局变量
#
# def test():
#     #局部变量想要改变全局变量时 --- > global
#     global x
#     x = 20
#
# test()
# print(x)

#参数默认值

# def Add(x , y , debug = False):
#     '''
#
#     :param x:
#     :param y:
#     :param debug: 默认参数为 False 为假
#     :return:
#     '''
#     if debug:
#         print(f"x = {x} ,  y = {y}")
#     return x + y
#
# print(Add(10 , 20 , True))
# print(Add(10 , 20))

#**********************   特殊  *************************
#传参可以不按照顺序 (特有的 -- > 形参名可以用)

def Add(x , y):
    print(f"x = {x} ,  y = {y}")
    return x + y

print(Add(10 , 20))
print(Add(y = 30 , x = 10))